Tom,
OK, I'll give that a try. I worked around it for now by recording the last position (during the last time-slice), and comparing that to ch->Dest. That seems to work, though it obviously has a small potential timing hole in it.
I've run into another problem though. Now when I set the limit state, as follows:
// Enable KM limit handler
ch0->LimitSwitchOptions =
LIMIT_STOP_ON_POS |
LIMIT_DISALLOW_DRIVE |
LIMIT_POS_LIMIT_BIT(VLIMIT_POS) |
LIMIT_IN_LIMIT;
I get an error dialog telling me an under-run has occurred, and suggesting I increase look-ahead. This is while moving a single axis, even at very slow speed. I've never seen this error before. The only difference I see is this is a new Win7 PC.
This happens every time.
Regards,
Ray L.
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>
> CheckDone returns the status of an individual axis if moved using an independent motion command like Move or Jog. It doesn't apply for things like coordinated motion.
>
> I think you can look at ch->last_vel to always see if an axis is moving and in what direction.
>
> Regards
> TK
>
>
>
> ________________________________
> From: himykabibble <jagboy1964@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thursday, March 14, 2013 4:27 PM
> Subject: [DynoMotion] Why Is CheckDone Returning 1 When The Axis Is Moving?
>
>
> Â
> I'm working on limit handling for my new machine, but having a problem. I use CheckDone to determine which axis tripped the limit. But, CheckDone seems to frequently return 1, even when the axis is moving. How can I determine, with certainty, whether an axis is moving or not?
>
> Regards,
> Ray L.
>